function createPromise(tag, timeout) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      if (Math.random() < 0.5) {
        resolve(`${tag} 正常`)
      } else {
        reject(`${tag} 异常`)
      }
    }, timeout)
  })
}

/**
 * Promise.race()
 *  ● 并发执行
 *  ● 得到第一个（根据时间）执行完成的 Promise 的结果
 */
Promise.race([
  createPromise('Promise', 2000),
  createPromise('Promise 2', 1000),
  createPromise('Promise 3', 3000)
])
  .then(res => {
    console.log(res) // Promise 2 正常
  })
  .catch(res => {
    console.log(res) // Promise 2 异常
  })
